Conventional rating systems, such as used by telecommunication service providers or cable service providers, can rate specific types of events. For example, a telecommunications service provider, such as AT&T, MCI or SPRINT, utilizes a rating system for rating telephone calls placed on their network tailored specifically for rating telephone calls. A rating system for telecommunications services could not, for example, rate other types of usage events, such as cable services or pay-per-view events. Similarly, a cable service provider rating system is tailored to rating cable service or pay-per-view events and could not, for example, rate telecommunications services. As information processing and delivery systems progress, however, there is a need for the capability of service providers that deliver multiple types of services to customers to have a single system that can provide the required event usage rating capabilities. In addition, the Telecommunications Act of 1996 has lowered barriers to competition, thus encouraging cable television and telecommunications providers to enter each other's markets, furthering the need for such a system.
Many existing rating systems are batch-oriented, inflexible, difficult to maintain and based on outdated technology. For example, traditional event rating systems receive a batch of events to be rated and do not run until the batch arrives, thus precluding any real-time capabilities. In such a system, the flow of events is always behind. In addition, these traditional event rating systems are generally programmed systems with few references to rate tables. As a result, these traditional systems have each possible rate programmed into a portion of code and therefore, while efficient with respect to the processing of a particular usage event, these systems are inflexible and any changes to a rating database variable requires reprogramming with the resultant error introduction and debugging procedures, thus making the system difficult to modify.
Some existing rating systems are not limited to batch processing, however, and can rate, for example, call details and telephony features on an as-arrived basis. In these types of rating systems, though, the rating of particular usage events is tied to the rating table or knowledge base during the rating process. For example, when a usage event is to be rated, existing systems may use multiple reference tables that work in conjunction with the rating of the event. Such systems also try to price the event (e.g., apply basic rates, discounts and modifications) on a single pass through the rating engine to avoid accessing a rating database multiple times (e.g., as the same information may be needed multiple times for different purposes) with no consideration given to configuring the flow of event rating processing as being related to the type of event to be rated. While such a system may be more flexible than batch processing systems through the referencing of multiple rate tables, the existing systems are bound to a rating database (e.g., a knowledge base) during the rating process via a program that dictates fixed algorithms that attempt to accomplish all processing actions in a single pass through the rating engine, thus limiting the efficiency of the rating process.